import Vue from "../main.js"
function service(options = {}) {
	// 如果 options.useLocalEmail 等于 true 或者不存在则默认使用本地存储的邮箱
	// 否则使用调用者提供的邮箱
	//（防止在用户注册、忘记密码、发送验证码情况下获取本地邮箱而不是使用用户输入的邮箱）
	let params = "?email=" + (
		(options.useLocalEmail || options.useLocalEmail == undefined) ? 
		Vue.getData("email") : options.email);
	for (let d in options.data) {
		params += "&" + d + "=" + options.data[d];
	}
	
	
	// 将原本的 data 赋空
	options.data = {};
	// 这里把 data 用字符串形式加到 url 后方，防止调用接口出错,同时将自己邮箱加入参数，用于验证 Token
	options.url = Vue.getUrl() + options.url + params;
	options.header = {
		"Content-Type": "application/json",
		"admin-token": Vue.getLoginToken()
	};
	options.dataType = "json";
	
	return new Promise((resolved, rejected) => {
		options.success = (res) => {
			if (res.data.status === 0 && res.data.message === "OK") {
				// 如果 allData 设为 true，则返回网络请求的所有数据
				if (options.allData != undefined && options.allData) {
					resolved(res);
				} else {
					resolved(res.data);
				}
				
			} else {
				rejected(res.data.message);
				// 判断 Token 是否过期，过期就跳转到登录页
				Vue.isExpired(res.data.message);
			}
		}
		options.fail = (err) => {
			rejected(err.errMsg);
		}
		uni.request(options);
	});
}
export default service;
